#!/bin/sh
# Copyright (C) 2023 Checkmk GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.

# Reason for this no-op: shellcheck disable=... before the first command disables the error for the
# entire script.
:

# Disable unused variable error (needed to keep track of version)
# shellcheck disable=SC2034
CMK_VERSION="2.5.0b1"

# Monitor Mailman 3 mailing lists

main() {
    echo "<<<mailman_lists>>>"
    all_members=""
    for list in $(mailman lists -q); do
        list_members=$(mailman members "${list}" | cut -d'<' -f2 | cut -d'>' -f1)
        all_members="${all_members}\n${list_members}"
        echo "$(echo "${list}" | cut -d'@' -f1) $(echo "${list_members}" | wc -l)"
    done

    echo "TOTAL $(echo "${all_members}" | grep -v "^$" | sort | uniq | wc -l)"
}

command -v mailman >/dev/null 2>&1 || exit 0
main
